table of contents
PAPI_create_eventset(3) | PAPI | PAPI_create_eventset(3) |
NAME¶
PAPI_create_eventset - create an EventSet
SYNOPSIS¶
C Interface
#include <papi.h> PAPI_create_eventset (int *EventSet);
Fortran Interface
#include fpapi.h PAPIF_create_eventset(C_INT EventSet, C_INT check)
DESCRIPTION¶
PAPI_create_eventset() creates a new EventSet pointed to by EventSet, which must be initialized to PAPI_NULL before calling this routine. The user may then add hardware events to the event set by calling PAPI_add_event(3) or similar routines.
NOTE: PAPI-C uses a late binding model to bind EventSets to components. When an EventSet is first created it is not bound to a component. This will cause some API calls that modify EventSet options to fail. An EventSet can be bound to a component explicitly by calling PAPI_assign_eventset_component(3) or implicitly by calling PAPI_add_event(3) or similar routines.
ARGUMENTS¶
EventSet -- Address of an integer location to store the new EventSet handle
RETURN VALUES¶
On success, this function returns PAPI_OK.
On error, a non-zero error code is returned.
ERRORS¶
- PAPI_EINVAL
- The argument handle has not been initialized to PAPI_NULL or the argument is a NULL pointer.
- PAPI_ENOMEM
- Insufficient memory to complete the operation.
EXAMPLES¶
int EventSet = PAPI_NULL;
if (PAPI_create_eventset(&EventSet) != PAPI_OK)
handle_error(1);
/* Add Total Instructions Executed to our EventSet */
if (PAPI_add_event(EventSet, PAPI_TOT_INS) != PAPI_OK)
handle_error(1);
BUGS¶
This function has no known bugs.
SEE ALSO¶
PAPI_destroy_eventset(3), PAPI_cleanup_eventset(3), PAPI_add_event(3), PAPI_assign_eventset_component(3)
April, 2007 | PAPI Programmer's Reference |